#ifndef _CAN_TASK_H
#define _CAN_TASK_H

#include "main.h"
#include "stm32f4xx.h"
#include "rm_data_types.h"
#include "stm32f4xx_can.h"

void EnableMotorDrive(USHORT16 usChan);

void CAN1PutDatatoRxBuf(CanRxMsg *pRxMessage);
bool CAN1IsDataInRxBuf(void);
u32 CAN1GetRxBufLen(void);
CanRxMsg *CAN1GetRxBufDat(void);
bool CAN1PutDatatoTxBuf(CanTxMsg *pTxMessage);
bool CAN1IsDataInTxBuf(void);
u32 CAN1GetTxBufLen(void);
CanTxMsg *CAN1GetTxBufDat(void);
void CAN1BeginSend(void);
void CAN1StopSend(void);
void SendAirMsgByCan2(UINT32* pAir);
void UpdateSwitchValue(USHORT16*pusSwitch,CanRxMsg* pRxMsg);

void CAN2PutDatatoRxBuf(CanRxMsg *pRxMessage);
bool CAN2IsDataInRxBuf(void);
u32 CAN2GetRxBufLen(void);
CanRxMsg *CAN2GetRxBufDat(void);
bool CAN2PutDatatoTxBuf(CanTxMsg *pTxMessage);
bool CAN2IsDataInTxBuf(void);
u32 CAN2GetTxBufLen(void);
CanTxMsg *CAN2GetTxBufDat(void);
void CAN2BeginSend(void);
void CAN2StopSend(void);

#endif
